﻿using Platform.Hardware.ControlCard.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Platform.Hardware.ControlCard.Zmotion
{
    public class ControlCardZmotion : ControlCardBase
    {
        public override bool AxisEnable(AxisType axis)
        {
            throw new NotImplementedException();
        }

        public override bool AxisEnable(AxisType axis, bool isEnable)
        {
            throw new NotImplementedException();
        }

        public override bool AxisPause(AxisType axis, int mode)
        {
            throw new NotImplementedException();
        }

        public override bool AxisResume(AxisType axis)
        {
            throw new NotImplementedException();
        }

        public override void Close()
        {
            throw new NotImplementedException();
        }

        public override bool GetAxisPosition(AxisType axis, ref float position, ref int runState)
        {
            throw new NotImplementedException();
        }

        public override bool GetMultiInput(int start, int end, ref int[] value)
        {
            throw new NotImplementedException();
        }

        public override bool GetMultiOutput(ushort start, ushort end, ref uint[] value)
        {
            throw new NotImplementedException();
        }

        public override bool GetSingleInput(IOType io, ref uint value)
        {
            throw new NotImplementedException();
        }

        public override bool Init(ControlCardConfig controlCardConfig)
        {
            throw new NotImplementedException();
        }

        public override bool MoveAbsolute(AxisType axis, float distance, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override Task<bool> MoveAbsoluteAsync(AxisType axis, float distance, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override Task<bool> MoveContinueAsync(AxisType axis, MoveDirection direction)
        {
            throw new NotImplementedException();
        }

        public override bool MoveRelative(AxisType axis, float distance, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override Task<bool> MoveRelativeAsync(AxisType axis, float distance, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override bool MoveToZero(AxisType axis, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override Task<bool> MoveToZeroAsync(AxisType axis, CancellationToken? cancellationToken = null)
        {
            throw new NotImplementedException();
        }

        public override bool SetSingleOutput(IOType io, uint value)
        {
            throw new NotImplementedException();
        }

        public override bool SetSpeed(AxisType axis, float speed)
        {
            throw new NotImplementedException();
        }

        public override bool SetUnit(AxisType axis, float unit)
        {
            throw new NotImplementedException();
        }

        public override bool StopAxis(StopMode stopMode = StopMode.立即中断脉冲发送)
        {
            throw new NotImplementedException();
        }

        public override bool StopAxis(AxisType axis, StopMode stopMode = StopMode.取消当前和缓冲运动)
        {
            throw new NotImplementedException();
        }

        public override Task<bool> StopAxisAsync(AxisType axis, StopMode stopMode = StopMode.取消当前和缓冲运动)
        {
            throw new NotImplementedException();
        }
    }
}
